/**
* @file config.h
* @brief project configuration
* @details global define,config,etc.
* @author huangbin
* @version V1.0.0
* @date 2025-04-20
* @copyright All documents are copyrighted by Shenzhen Xinlongwei Technology Co., LTD.
*            They may not be used for commercial purposes without permission
*/

#ifndef	__CONFIG_H__
#define __CONFIG_H__

#ifdef __cplusplus
 extern "C" {
#endif /* __cplusplus */
/////////////////////////debug configuration////////////////////////////////

#define DEBUG                       //if define,enable debug ouput
#define DEBUG_LOG_TO_LCD    0       //如果定义此宏（同时定义DEBUG），并且不为0，调试信息输出到当前显示屏上而不是串口
#define DEBUG_BUFFER_MAX    300     //调试信息最大缓冲区
//#define WATCHDOG_ENABLE	//if define,enable watchdog

/***************************version information*****************************
1. 1.0.0: release 2025.6.18
2. 1.0.1: 增加LCD调试输出,清理工程
3. 1.1.0: 更新启动文件、Scatter Loading
**************************************************************************/
#define VERSION_MAJOR       1
#define VERSION_MINOR       1
#define VERSION_MICRO       0
#define VERSION_CODE(major, minor, micro)   ((((UINT16)major)<<8) | (((UINT16)minor)<<4) | ((UINT16)micro))
#define GET_CUR_VERSION()   VERSION_CODE(VERSION_MAJOR,VERSION_MINOR,VERSION_MICRO) 

/**************************************************************************
1.所有串口使用的超时定时器统一在这里配置
**************************************************************************/
#define MCU_UART1_USE 	TIMEOUT_1  //串口1使用的超时定时器序号
#define MCU_UART2_USE 	TIMEOUT_2  //串口2使用的超时定时器序号
#define MCU_UART3_USE 	TIMEOUT_2  //串口3使用的超时定时器序号
#define MCU_UART4_USE 	TIMEOUT_3  //串口4使用的超时定时器序号
#define MCU_UART5_USE 	TIMEOUT_4  //串口5使用的超时定时器序号

#define MCU_UART1_TIMEOUT_MS	5  //串口2超时时间(ms)
#define MCU_UART2_TIMEOUT_MS	5  //串口2超时时间
#define MCU_UART3_TIMEOUT_MS	5  //串口3超时时间
#define MCU_UART4_TIMEOUT_MS	5  //串口4超时时间
#define MCU_UART5_TIMEOUT_MS	5  //串口5超时时间


#define USE_WORK_LED       1 //1:enable,0:disable work led 
/**************************************************************************
	MODBUS全局配置
**************************************************************************/
#define MODBUS_DEVICE_TYPE_DO8		1		//输出8个继电器，输入0
#define MODBUS_DEVICE_TYPE_DO16		2		//输出16个继电器，输入0
#define MODBUS_DEVICE_TYPE_DI8DO8		3		//输出8个继电器，输入8

#define MODBUS_DEVICE_TYPE		MODBUS_DEVICE_TYPE_DO8
//#define MODBUS_DEVICE_TYPE		MODBUS_DEVICE_TYPE_DO16
//#define MODBUS_DEVICE_TYPE		MODBUS_DEVICE_TYPE_DI8DO8

#define MODBUS_DEVICE_NAME_STRING "4G cat1"    //设备名称字串，最长30个字节
#define MODBUS_DEVICE_VERSION_STRING "1.0.0"   //设备版本，最长10个字节
#define MODBUS_DEVICE_OUTPUT_NUM 0             //设备输入触点数量
#define MODBUS_DEVICE_INPUT_NUM 0              //设备输出触点数量
//////////////////////////////////////////////////////////////////////////
/**************************************************************************
	demo使用配置,多选一
**************************************************************************/
#define USE_AUTO_LOADER_DEMO    0    //1=使用自动加载demo,0=disable
#define USE_MENU_DEMO           1    //1=使用菜单demo,0=disable

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
/************************END OF FILE*************************************/

